<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
		<title>TCBlobDownloader Class Reference</title>
		<meta id="xcode-display" name="xcode-display" content="render"/>
		<link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
		<link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
		<meta name="generator" content="appledoc 2.2 (build 961)" />
	</head>
	<body>
		<header id="top_header">
			<div id="library" class="hideInXcode">
				<h1><a id="libraryTitle" href="../index.html">TCBlobDownload </a></h1>
				<a id="developerHome" href="../index.html">thibaultCha</a>
			</div>
			
			<div id="title" role="banner">
				<h1 class="hideInXcode">TCBlobDownloader Class Reference</h1>
			</div>
			<ul id="headerButtons" role="toolbar">
				<li id="toc_button">
					<button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
				</li>
				<li id="jumpto_button" role="navigation">
					<select id="jumpTo">
	<option value="top">Jump To&#133;</option>
	
	<option value="overview">Overview</option>
	
	
	
	
	<option value="tasks">Tasks</option>
	
	
	
	
	
	<option value="properties">Properties</option>
	
	<option value="//api/name/delegate">&nbsp;&nbsp;&nbsp;&nbsp;delegate</option>
	
	<option value="//api/name/downloadURL">&nbsp;&nbsp;&nbsp;&nbsp;downloadURL</option>
	
	<option value="//api/name/fileName">&nbsp;&nbsp;&nbsp;&nbsp;fileName</option>
	
	<option value="//api/name/pathToDownloadDirectory">&nbsp;&nbsp;&nbsp;&nbsp;pathToDownloadDirectory</option>
	
	<option value="//api/name/pathToFile">&nbsp;&nbsp;&nbsp;&nbsp;pathToFile</option>
	
	<option value="//api/name/remainingTime">&nbsp;&nbsp;&nbsp;&nbsp;remainingTime</option>
	
	<option value="//api/name/speedRate">&nbsp;&nbsp;&nbsp;&nbsp;speedRate</option>
	
	
	
	
	
	
	<option value="instance_methods">Instance Methods</option>
	
	<option value="//api/name/addDependentDownload:">&nbsp;&nbsp;&nbsp;&nbsp;- addDependentDownload:</option>
	
	<option value="//api/name/cancelDownloadAndRemoveFile:">&nbsp;&nbsp;&nbsp;&nbsp;- cancelDownloadAndRemoveFile:</option>
	
	<option value="//api/name/initWithURL:downloadPath:delegate:">&nbsp;&nbsp;&nbsp;&nbsp;- initWithURL:downloadPath:delegate:</option>
	
	<option value="//api/name/initWithURL:downloadPath:firstResponse:progress:error:complete:">&nbsp;&nbsp;&nbsp;&nbsp;- initWithURL:downloadPath:firstResponse:progress:error:complete:</option>
	
	
	
</select>
				</li>
			</ul>
		</header>
		<nav id="tocContainer" class="isShowingTOC">
			<ul id="toc" role="tree">
				
<li role="treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#overview">Overview</a></span></li>




<li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
	
</ul></li>





<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#properties">Properties</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/delegate">delegate</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/downloadURL">downloadURL</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/fileName">fileName</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/pathToDownloadDirectory">pathToDownloadDirectory</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/pathToFile">pathToFile</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/remainingTime">remainingTime</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/speedRate">speedRate</a></span></li>
	
</ul></li>





<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/addDependentDownload:">addDependentDownload:</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/cancelDownloadAndRemoveFile:">cancelDownloadAndRemoveFile:</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/initWithURL:downloadPath:delegate:">initWithURL:downloadPath:delegate:</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/initWithURL:downloadPath:firstResponse:progress:error:complete:">initWithURL:downloadPath:firstResponse:progress:error:complete:</a></span></li>
	
</ul></li>


			</ul>
		</nav>
		<article>
			<div id="contents" class="isShowingTOC" role="main">
				<a title="TCBlobDownloader Class Reference" name="top"></a>
				<div class="main-navigation navigation-top">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="header">
					<div class="section-header">
						<h1 class="title title-header">TCBlobDownloader Class Reference</h1>
					</div>		
				</div>
				<div id="container">	
					
					<div class="section section-specification"><table cellspacing="0"><tbody>
						<tr>
	<td class="specification-title">Inherits from</td>
	<td class="specification-value">NSOperation</td>
</tr><tr>
	<td class="specification-title">Conforms to</td>
	<td class="specification-value">NSURLConnectionDelegate</td>
</tr><tr>
	<td class="specification-title">Declared in</td>
	<td class="specification-value">TCBlobDownloader.h</td>
</tr>
						</tbody></table></div>
					
                    
                    
					
					<div class="section section-overview">
						<a title="Overview" name="overview"></a>
						<h2 class="subtitle subtitle-overview">Overview</h2>
						<p><code>TCBlobDownloader</code> is a subclass of Cocoa&rsquo;s <code>NSOperation</code>. It&rsquo;s purpose is to be executed by the <code>TCBlobDownloaderManager</code> singleton to download large files in background threads.</p>

<p>Each <code>TCBlobDownloader</code> instance will run in a background thread and will download files via an <code>NSURLConnection</code>. Each <code>TCBlobDownloader</code> can depend (or not) of a <a href="../Protocols/TCBlobDownloaderDelegate.html"><code>TCBlobDownloaderDelegate</code></a> or use blocks to notify your UI from its status.</p>
					</div>
					
					
					
					
					
					<div class="section section-tasks">
						<a title="Tasks" name="tasks"></a>
						<h2 class="subtitle subtitle-tasks">Tasks</h2>
						
						
						
						

						<ul class="task-list">
							<li>
	<span class="tooltip">
		<code><a href="#//api/name/delegate">&nbsp;&nbsp;delegate</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/pathToDownloadDirectory">&nbsp;&nbsp;pathToDownloadDirectory</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/pathToFile">&nbsp;&nbsp;pathToFile</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/downloadURL">&nbsp;&nbsp;downloadURL</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/fileName">&nbsp;&nbsp;fileName</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/speedRate">&nbsp;&nbsp;speedRate</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/remainingTime">&nbsp;&nbsp;remainingTime</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/initWithURL:downloadPath:delegate:">&ndash;&nbsp;initWithURL:downloadPath:delegate:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/initWithURL:downloadPath:firstResponse:progress:error:complete:">&ndash;&nbsp;initWithURL:downloadPath:firstResponse:progress:error:complete:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/cancelDownloadAndRemoveFile:">&ndash;&nbsp;cancelDownloadAndRemoveFile:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/addDependentDownload:">&ndash;&nbsp;addDependentDownload:</a></code>
	</span>
	
	
</li>
						</ul>
						
					</div>
					
					
					
					
					
					<div class="section section-methods">
						<a title="Properties" name="properties"></a>
						<h2 class="subtitle subtitle-methods">Properties</h2>
						
						<div class="section-method">
	<a name="//api/name/delegate" title="delegate"></a>
	<h3 class="subsubtitle method-title">delegate</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The delegate property of a <code>TCBlobDownloader</code> instance. Can be <code>nil</code>.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, unsafe_unretained) id&lt;TCBlobDownloaderDelegate&gt; delegate</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/downloadURL" title="downloadURL"></a>
	<h3 class="subsubtitle method-title">downloadURL</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The URL of the file to download.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, copy, readonly) NSURL *downloadURL</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<div class="warning"><p><strong>Warning:</strong> You should not set this property directly, as it is managed by the initialization method.</p></div>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/fileName" title="fileName"></a>
	<h3 class="subsubtitle method-title">fileName</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The file name, based on the last path component of the download URL.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, copy, readonly) NSString *fileName</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<h2>Note</h2>

<p>You cannot change the file name during the download process. The file name of a file downloaded by TCBlobDownload is the last part of the URL used to download it. This allow TCBlobDownload to check if a part of that file has already been downloaded and if so, retrieve the downloaded from where it has previously stopped. It is up to you to manage your download paths to avoid downloading 2 files with the same name.</p>

<p>You can change the file name once the file has been downloaded in the completion block or the appropriate <a href="#//api/name/delegate">delegate</a> method.</p><div class="warning"><p><strong>Warning:</strong> You should not set this property directly, as it is retrieved from the download URL.</p></div>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Protocols/TCBlobDownloaderDelegate.html">TCBlobDownloaderDelegate</a> protocol</p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/pathToDownloadDirectory" title="pathToDownloadDirectory"></a>
	<h3 class="subsubtitle method-title">pathToDownloadDirectory</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The directory where to download the file.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, copy) NSString *pathToDownloadDirectory</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<div class="warning"><p><strong>Warning:</strong> You should not set this property directly as it is managed in the initialization method.</p></div>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/pathToFile" title="pathToFile"></a>
	<h3 class="subsubtitle method-title">pathToFile</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The path to the downloaded file, including the file name.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, copy, readonly) NSString *pathToFile</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<div class="warning"><p><strong>Warning:</strong> You should not set this property directly as the file name is managed by the library.</p></div>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/remainingTime" title="remainingTime"></a>
	<h3 class="subsubtitle method-title">remainingTime</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The estimated number of seconds before the download completes.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, assign, readonly) NSInteger remainingTime</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.5.0</p>
	</div>
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p><code>-1</code> if the remaining time has not been calculated yet.</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/speedRate" title="speedRate"></a>
	<h3 class="subsubtitle method-title">speedRate</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The current speed of the download in bits/sec. This property updates itself regularly so you can retrieve it on a regular interval to update your UI.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, assign, readonly) NSInteger speedRate</code></div>

    
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.5.0</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
					
					
					
					<div class="section section-methods">
						<a title="Instance Methods" name="instance_methods"></a>
						<h2 class="subtitle subtitle-methods">Instance Methods</h2>
						
						<div class="section-method">
	<a name="//api/name/addDependentDownload:" title="addDependentDownload:"></a>
	<h3 class="subsubtitle method-title">addDependentDownload:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Makes the receiver download dependent of the given download. The receiver download will not execute itself until the given download has finished.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (void)addDependentDownload:(TCBlobDownloader *)<em>blobDownload</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>blobDownload</em></dt>
			<dd><p>The download on which to depend.</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.2</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/cancelDownloadAndRemoveFile:" title="cancelDownloadAndRemoveFile:"></a>
	<h3 class="subsubtitle method-title">cancelDownloadAndRemoveFile:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Cancels the download. Remove already downloaded parts of the file from the disk is asked.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (void)cancelDownloadAndRemoveFile:(BOOL)<em>remove</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>remove</em></dt>
			<dd><p>If <code>YES</code>, this method will remove the downloaded file parts from the disk. File parts are left untouched if set to <code>NO</code>. This will allow TCBlobDownload to restart the download from where it has ended in a future operation.</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/initWithURL:downloadPath:delegate:" title="initWithURL:downloadPath:delegate:"></a>
	<h3 class="subsubtitle method-title">initWithURL:downloadPath:delegate:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Instanciates a <code>TCBlobDownloader</code> object with <a href="#//api/name/delegate">delegate</a>. <code>TCBlobDownloader</code> objects instanciated this way will not be executed until they are passed to the <code>TCBlobDownloaderManager</code> singleton.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (instancetype)initWithURL:(NSURL *)<em>url</em> downloadPath:(NSString *)<em>pathToDLOrNil</em> delegate:(id&lt;TCBlobDownloaderDelegate&gt;)<em>delegateOrNil</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>url</em></dt>
			<dd><p>The URL from where to download the file.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>pathToDLOrNil</em></dt>
			<dd><p>An optional path to override the default download path of the <code>TCBlobDownloaderManager</code> instance. Can be <code>nil</code>.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>delegateOrNil</em></dt>
			<dd><p>An optional <a href="#//api/name/delegate">delegate</a>. Can be <code>nil</code>.</p></dd>
		</dl>
		
	</div>
	
	
	
	<div class="method-subsection return">
		<h4 class="method-subtitle parameter-title">Return Value</h4>
		<p>The newly created <code>TCBlobDownloader</code>.</p>
	</div>
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.0</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/initWithURL:downloadPath:firstResponse:progress:error:complete:" title="initWithURL:downloadPath:firstResponse:progress:error:complete:"></a>
	<h3 class="subsubtitle method-title">initWithURL:downloadPath:firstResponse:progress:error:complete:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Instanciates a <code>TCBlobDownloader</code> object with response blocks. <code>TCBlobDownloader</code> objects instanciated this way will not be executed until they are passed to the <code>TCBlobDownloaderManager</code> singleton.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (instancetype)initWithURL:(NSURL *)<em>url</em> downloadPath:(NSString *)<em>pathToDL</em> firstResponse:(void ( ^ ) ( NSURLResponse *response ))<em>firstResponseBlock</em> progress:(void ( ^ ) ( float receivedLength , float totalLength , NSInteger remainingTime ))<em>progressBlock</em> error:(void ( ^ ) ( NSError *error ))<em>errorBlock</em> complete:(void ( ^ ) ( BOOL downloadFinished , NSString *pathToFile ))<em>completeBlock</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>url</em></dt>
			<dd><p>The URL of the file to download.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>firstResponseBlock</em></dt>
			<dd><p>This block is called when receiving the first response from the server. Can be <code>nil</code>.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>progressBlock</em></dt>
			<dd><p>This block is called on each response from the server while the download is occurring. Can be <code>nil</code>. If the remaining time has not been calculated yet, the value is <code>-1</code>.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>errorBlock</em></dt>
			<dd><p>Called when an error occur during the download. If this block is called, the download will be cancelled just after. Can be <code>nil</code>.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>completeBlock</em></dt>
			<dd><p>Called when the download is completed or cancelled. Can be <code>nil</code>. If the download has been cancelled with the paramater <code>removeFile</code> set to <code>YES</code>, then the <a href="#//api/name/pathToFile"><code>pathToFile</code></a> parameter is <code>nil</code>. The <code>TCBlobDownloader</code> operation will be removed from <a href="../Classes/TCBlobDownloadManager.html"><code>TCBlobDownloadManager</code></a> just after this block is called.</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>customPathOrNil</em></dt>
			<dd><p>An optional path to override the default download path of the <code>TCBlobDownloaderManager</code> instance. Can be <code>nil</code>.</p></dd>
		</dl>
		
	</div>
	
	
	
	<div class="method-subsection return">
		<h4 class="method-subtitle parameter-title">Return Value</h4>
		<p>The newly created <code>TCBlobDownloader</code>.</p>
	</div>
	
	
	
	<div class="method-subsection availability">
		<h4 class="method-subtitle parameter-title">Availability</h4>
		<p>1.3</p>
	</div>
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">TCBlobDownloader.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
                    
                    
				</div>
				<div class="main-navigation navigation-bottom">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="footer">
					<hr />
					<div class="footer-copyright">
						<p><span class="copyright">&copy; 2014 thibaultCha. All rights reserved. (Last updated: 2014-03-08)</span><br />
						
						<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 961)</a>.</span></p>
						
					</div>
				</div>
			</div>
		</article>
		<script type="text/javascript">
			function jumpToChange()
			{
				window.location.hash = this.options[this.selectedIndex].value;
			}
			
			function toggleTOC()
			{
				var contents = document.getElementById('contents');
				var tocContainer = document.getElementById('tocContainer');
				
				if (this.getAttribute('class') == 'open')
				{
					this.setAttribute('class', '');
					contents.setAttribute('class', '');
					tocContainer.setAttribute('class', '');
					
					window.name = "hideTOC";
				}
				else
				{
					this.setAttribute('class', 'open');
					contents.setAttribute('class', 'isShowingTOC');
					tocContainer.setAttribute('class', 'isShowingTOC');
					
					window.name = "";
				}
				return false;
			}
			
			function toggleTOCEntryChildren(e)
			{
				e.stopPropagation();
				var currentClass = this.getAttribute('class');
				if (currentClass == 'children') {
					this.setAttribute('class', 'children open');
				}
				else if (currentClass == 'children open') {
					this.setAttribute('class', 'children');
				}
				return false;
			}
			
			function tocEntryClick(e)
			{
				e.stopPropagation();
				return true;
			}
			
			function init()
			{
				var selectElement = document.getElementById('jumpTo');
				selectElement.addEventListener('change', jumpToChange, false);
				
				var tocButton = document.getElementById('table_of_contents');
				tocButton.addEventListener('click', toggleTOC, false);
				
				var taskTreeItem = document.getElementById('task_treeitem');
				if (taskTreeItem.getElementsByTagName('li').length > 0)
				{
					taskTreeItem.setAttribute('class', 'children');
					taskTreeItem.firstChild.setAttribute('class', 'disclosure');
				}
				
				var tocList = document.getElementById('toc');
				
				var tocEntries = tocList.getElementsByTagName('li');
				for (var i = 0; i < tocEntries.length; i++) {
					tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
				}
				
				var tocLinks = tocList.getElementsByTagName('a');
				for (var i = 0; i < tocLinks.length; i++) {
					tocLinks[i].addEventListener('click', tocEntryClick, false);
				}
				
				if (window.name == "hideTOC") {
					toggleTOC.call(tocButton);
				}
			}
			
			window.onload = init;
			
			// If showing in Xcode, hide the TOC and Header
			if (navigator.userAgent.match(/xcode/i)) {
				document.getElementById("contents").className = "hideInXcode"
				document.getElementById("tocContainer").className = "hideInXcode"
				document.getElementById("top_header").className = "hideInXcode"
			}
			
		</script>
	</body>
</html>